package db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * @Description: 数据库连接
 * @Author: xiaobing
 * @system name: 工作流管理系统
 * @copyright：长安新生（深圳）金融投资有限公司
 * @Date: Created in  2018/5/11 18:04
 */
public class DBHelper {

    private static final String driver = "com.mysql.jdbc.Driver";

    /**
     * 如下是连接数据库的URL地址，
     * 其中，"jdbc:mysql://"   为固定写法
     * "localhost"是连接本机数据库时的写法，当不是连接本机数据库时，要写数据库所在计算机的IP地址。如：172.26.132.253
     * "shopping"是数据库的名称，一定要根据自己的数据库更改。
     * "?useUnicode=true&characterEncoding=UTF-8" 指定编码格式，无需时可省略，
     * 即地址直接为："jdbc:mysql://localhost:3306/shopping"
     */
    private static final String url="jdbc:mysql://10.10.10.224:3306/git?useUnicode=true&characterEncoding=UTF-8";
    private static final String username="cfs_sit";
    private static final String password="cfs_sit";

    private static Connection conn=null;

    //静态代码块负责加载驱动
    static
    {
        try
        {
            Class.forName(driver);
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
    }

    public static Connection getConnection() throws Exception
    {
        if(conn==null)
        {
            conn = DriverManager.getConnection(url, username, password);
            return conn;
        }
        return conn;
    }

    public static void connectionClose() {
        try {
            if (conn != null) {
                conn.close();
            }
            if(conn.isClosed())
            {
                System.out.println("数据库连接已经正常关闭！");
            }
            else
            {
                System.out.println("数据库连接未关闭！");
            }
        } catch (SQLException e)
        {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {

        try
        {
            Connection conn = DBHelper.getConnection();
            if(conn!=null)
            {
                System.out.println("数据库连接正常！");
            }
            else
            {
                System.out.println("数据库连接异常！");
            }
            connectionClose();
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }

    }
}
